MySQL查询请帮忙算一下

时间:2010-11-10 20:16:07

标签: php sql mysql

好吧我有MYSQL查询代码设置来从我的数据库中提取这些信息。我现在想做的是按代码计算,但按名称分组。

$sql = "SELECT  m.* 
          FROM (SELECT DISTINCT Code  
                  FROM Transaction) md 
          JOIN Transaction m ON m.ID_Transaction = (SELECT  ID_Transaction
                                                      FROM Transaction mi
                                                     WHERE mi.Code = md.Code 
                                                       AND Date_Time=CURdate() 
                                                       AND Time_Stamp!=''
                                                  ORDER BY m.Name DESC, mi.Code DESC, mi.Date_Time DESC, mi.ID_Transaction DESC
                                                     LIMIT 1)";

使用我的PHP代码,这是我从这个查询得到的。

rick, 002455, 2010-11-10, 08:30 AM  
rick, 003819, 2010-11-10, 08:45 AM  
amber, 003572, 2010-11-10, 08:45 AM  
eric, 001479, 2010-11-10, 10:30 AM  
jerry, 001012, 2010-11-10, 09:45 AM   
瑞克是名字的 000000是代码

我想获取这些信息,并为每个名称计算它。

rick = 2  
amber = 1  
eric = 1  
jerry = 1  

我不确定我会怎么做?我是否可以使用查询中的信息进行另一个查询来计算此信息。

1 个答案:

答案 0 :(得分:2)

SELECT m.name, count(*) FROM (
SELECT DISTINCT Code
FROM Transaction
) md JOIN Transaction m ON
m.ID_Transaction = ( SELECT ID_Transaction FROM Transaction mi WHERE mi.Code = md.Code AND Date_Time=CURdate() AND Time_Stamp!='' ORDER BY m.Name DESC, mi.Code DESC, mi.Date_Time DESC, mi.ID_Transaction DESC LIMIT 1 )
 group by m.name