Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

ÀàËÆ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]


Ïà¹ØÎĵµ£º

º½¿Õ¹«Ë¾¹ÜÀíϵͳ(VC++ ÓëSQL 2005)

ϵͳ»·¾³£ºWindows 7
Èí¼þ»·¾³£ºVisual C++ 2008 SP1 +SQL Server 2005
±¾´ÎÄ¿µÄ£º±àдһ¸öº½¿Õ¹ÜÀíϵͳ
      ÕâÊÇÊý¾Ý¿â¿Î³ÌÉè¼ÆµÄ³É¹û£¬ËäÈ»³É¼¨²»¼Ñ£¬µ«ÊÇ×÷ΪÎÒÓÃVC++ ÒÔÀ´±àдµÄ×î´ó³ÌÐò»¹ÊÇ´«µ½ÍøÉÏ£¬ÒÔ¹©²Î¿¼¡£ÓÃVC++ ×öÊý¾Ý¿âÉè¼Æ²¢²»ÈÝÒ×£¬µ«Ò²²»ÊDz»¿ÉÄÜ¡£ÒÔÏÂÊÇÎҵijÌÐò½çÃæ£¬ºóÃæ ......

SQL Server 2005ͨ¹ýÈÕÖ¾²é¿´·þÎñÆ÷µÄÔËÐÐÇé¿ö

4.6 ͨ¹ýÈÕÖ¾²é¿´·þÎñÆ÷µÄÔËÐÐÇé¿ö
SQL Server 2005¿ÉÒÔ½«Ä³Ð©ÏµÍ³Ê¼þºÍÓû§×Ô¶¨ÒåµÄʼþ¼Ç¼µ½SQL Server´íÎóÈÕÖ¾ºÍWindowsÓ¦ÓóÌÐòÈÕÖ¾ÖС£ÕâÁ½ÖÖÈÕÖ¾¶¼»á×Ô¶¯±êÉÏʱ¼ä¡£
4.6.1 ÔÚ¡¾Ê¼þ²é¿´Æ÷¡¿Öв鿴·þÎñÆ÷µÄÔËÐÐÇé¿ö
SQL Server 2005·þÎñÆ÷µÄÆô¶¯¡¢¹Ø±ÕºÍÔÝÍ£¶¯×÷£¬¶¼»á²úÉúÒ»¸öʼþ¼Ç¼£¬Õâ¸ö¼Ç¼½«»á¼ÇÔÚWindows ......

sql float ת varchar

SELECT CONVERT(varchar(100), CAST(@testFloat AS decimal(38,2)))
SELECT STR(@testFloat, 38, 2)
´ÓExcelÖе¼Èëµ½sql2000£¬ÓÐÒ»ÁГÁªÏµ·½Ê½”±ä³ÉÁËfloatÀàÐÍ£¬ÎÒÏëת»»³ÉnvarcharÀàÐÍ£¬ÓÃÏÂÃæµÄÓï¾ä
select convert(nvarchar(30),convert(int,ÁªÏµ·½Ê½)) from employee
go
//Êý¾ÝÒç³ö£¬²»ÐУ¡
select ......

vba ½«excel²åÈësqlÊý¾Ý¿â

Private Sub insert1_click()
Dim iCount As Integer
Dim cn
Set cn = CreateObject("ADODB.Connection")
cn.ConnectionString = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Password=8233;Initial Catalog=hskmis;Data Source=127.0.0.1"
cn.Open
cn.Execute ("delete temp9")
'¼ÆËã¸Ã±íÓжàÉÙÐ ......

ÈçºÎÔÚSQL Server 2005 Öд洢Á¢·½Ã×

ÒªÔÚSQL ServerÊý¾Ý¿âÖд洢m³²¢´òÓ¡³öÀ´, ·½·¨ÈçÏ£º
    1£©½«Êý¾Ý¿âÖÐÏàÓ¦×ֶεÄÊý¾ÝÀàÐÍÉèΪnchar»ònvarcharÀàÐÍ¡£
    2£©´ÓExcelÖеõ½m³£¬¸´ÖÆÕ³Ìùµ½½ÓÊÕÊý¾ÝµÄ¿Ø¼þÖУ¨TextBox¡¢DataGridViewµÈ£©¡£±£´æ¼´¿É¡£
    ×¢£º1£©nchar,nvarcharÓëchar,varcharµ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ