当查询中有sum(a + b)时,MySqlDataReader读取数据

时间:2015-01-01 16:02:48

标签: mysql

当我使用此查询时

 ("SELECT id, at_date AS MyDate , nom, pax, SUM(prix*pax) AS somme, 
  SUM(pax) AS totpax
  FROM atelier ORDER BY " + Order_by + " " + SortDir + " LIMIT @Myid," + 
  PublicVariables.MySqlLimit, conn)

这在此处出现错误

 _listBox[1].Items.Add(Convert.ToDateTime(reader["MyDate"]).ToString("d"));

因为表中没有ROWS。表格为空。

但是当我从查询中提取SUM(prix * pax)AS somme和SUM(pax)AS totpax时,读取器不会读取并且不会发生错误。

那里有MySql的技巧吗?

我通过在调用此方法之前检查表是否有任何行来解决问题,但这不是我喜欢的任何想法?

1 个答案:

答案 0 :(得分:1)

在order by子句之前对所有非聚合函数使用Group by子句:

group by id,MyDate,nom,pax