0

COUNT()クエリの行 (または別の MySQL 関数) が必要ですが、次のように異なる数が必要です。

私が得ているもの:

   id  | date       | costumer_id
  -----+------- ----+-------------
   1   | 2012-10-05 | 103
   2   | 2012-10-05 | 103
   3   | 2012-10-05 | 103
   4   | 2012-10-05 | 59
   5   | 2012-10-05 | 59
   6   | 2012-10-05 | 90

必要なもの:

   id  | date       | costumer_id | count
  -----+------------+-------------+------
   1   | 2012-10-05 | 103         | 3
   5   | 2012-10-05 | 59          | 2
   6   | 2012-10-05 | 90          | 1
4

4 に答える 4

1

クエリごとの単純なグループが必要です。でIDをグループに残していると思われます。次のようなものを試してください。

select max(id), date, customer_id, count(*)
from t
group by date, customer_id
order by 1
于 2012-10-05T17:52:30.917 に答える
0
SELECT id, `date`, customer_id, COUNT(1) AS `count`
FROM `table`
GROUP BY `customer_id`
于 2012-10-05T17:52:41.003 に答える
0
select 
    min(id) as id, 
    date, 
    customer_id, 
    count(*) as count
from tatble
group by 
    date, 
    customer_id
order by 1;
于 2012-10-05T18:03:19.290 に答える
0

GROUP BYを使用する必要があります

以下のクエリでは、望ましい結果が得られます。

id、日付、costumer_id、count(costumer_id) を table1 から c として選択します。

于 2012-10-05T17:58:59.647 に答える