0

私はこのテーブルを持っています:

| name | gender | date             |
------------------------------------
| Foo  | male   | 2013-09-16 10:23 |
| Name | male   | 2013-09-16 09:10 |
| Red  | male   | 2013-09-15 09:10 |
| Bar  | female | 2013-09-15 10:10 |
etc...

でフィルタリングする曜日ごとの訪問数を取得する必要がありますgender

男性を数えると、次のようになります。

1: 2 visits
2: 0 visits
3: 0 visits
4: 0 visits
5: 0 visits
6: 0 visits
7: 1 visit

クエリは次のようになります。

SELECT FROM table
WHERE gender = 'male'
GROUP BY DAYOFWEEK

私のクエリが機能しないので、誰かがそれを機能させる方法を知っているかどうかここで尋ねています...

4

2 に答える 2

2

試す

SELECT dayofweek(date) dayofweek, gender, count(*) count
FROM table
GROUP BY DAYOFWEEK(date), gender

編集:

月曜日を1、日曜日を7にしたい場合は、次のこともできます

SELECT (dayofweek(date)+5)%7+1 dayofweek, gender, count(*) count
FROM table
GROUP BY (dayofweek(date)+5)%7+1, gender

構造を避けたい場合if...

于 2013-09-16T07:02:15.227 に答える