Select 并计算唯一值,其中 genderX
Select and count uniqe value where gender = X
我有一个 sql 查询:
SELECT t1.Nev,
Count(t2.Datum) AS Edzes_szam
FROM Adatok t1
INNER JOIN (SELECT DISTINCT Kod,
Datum
FROM Jelenlet
WHERE Datum LIKE '" + dtm_year_hkszpp_ym + "%') t2
ON t1.Azon_sima = t2.Kod
GROUP BY t1.Nev
只需要gender='X'
个数,请大家帮忙改一下
此查询计算某个名称在选定月份内被记录了多少次。
我想为性别做一个过滤器。我必须如何以及在哪里接受这个 where gender = 'X'
.
我正在使用 MSOLEDB。
太简单了。如果您在 Adatok table 中有性别列,那么,试试看:-
SELECT t1.Nev,
Count(t2.Datum) AS Edzes_szam
FROM Adatok t1
INNER JOIN (SELECT DISTINCT Kod,
Datum
FROM Jelenlet
WHERE Datum LIKE '" + dtm_year_hkszpp_ym + "%') t2
ON t1.Azon_sima = t2.Kod
WHERE t1.gender = 'X'
GROUP BY t1.Nev
否则,试试这个:-
SELECT t1.Nev,
Count(t2.Datum) AS Edzes_szam
FROM Adatok t1
INNER JOIN (SELECT DISTINCT Kod,
Datum
FROM Jelenlet
WHERE Datum LIKE '" + dtm_year_hkszpp_ym + "%'
AND gender = 'X') t2
ON t1.Azon_sima = t2.Kod
GROUP BY t1.Nev
您的操作不需要子查询:
SELECT A.Nev, Count(DISTINCT J.Datum) AS Edzes_szam
FROM Adatok a INNER JOIN
Jelenlet j
ON A.Azon_sima = j.Kod AND
j.Datum LIKE '" + dtm_year_hkszpp_ym + "%'
GROUP BY a.Nev ;
使用此结构,您只需在 GROUP BY
之前添加 WHERE gender = <whatever>
。
您的代码有点暗示您正在使用 LIKE
作为日期。在任何数据库中都不推荐这样做。都有比LIKE
.
更好的内置日期和时间函数
我有一个 sql 查询:
SELECT t1.Nev,
Count(t2.Datum) AS Edzes_szam
FROM Adatok t1
INNER JOIN (SELECT DISTINCT Kod,
Datum
FROM Jelenlet
WHERE Datum LIKE '" + dtm_year_hkszpp_ym + "%') t2
ON t1.Azon_sima = t2.Kod
GROUP BY t1.Nev
只需要gender='X'
个数,请大家帮忙改一下
此查询计算某个名称在选定月份内被记录了多少次。
我想为性别做一个过滤器。我必须如何以及在哪里接受这个 where gender = 'X'
.
我正在使用 MSOLEDB。
太简单了。如果您在 Adatok table 中有性别列,那么,试试看:-
SELECT t1.Nev,
Count(t2.Datum) AS Edzes_szam
FROM Adatok t1
INNER JOIN (SELECT DISTINCT Kod,
Datum
FROM Jelenlet
WHERE Datum LIKE '" + dtm_year_hkszpp_ym + "%') t2
ON t1.Azon_sima = t2.Kod
WHERE t1.gender = 'X'
GROUP BY t1.Nev
否则,试试这个:-
SELECT t1.Nev,
Count(t2.Datum) AS Edzes_szam
FROM Adatok t1
INNER JOIN (SELECT DISTINCT Kod,
Datum
FROM Jelenlet
WHERE Datum LIKE '" + dtm_year_hkszpp_ym + "%'
AND gender = 'X') t2
ON t1.Azon_sima = t2.Kod
GROUP BY t1.Nev
您的操作不需要子查询:
SELECT A.Nev, Count(DISTINCT J.Datum) AS Edzes_szam
FROM Adatok a INNER JOIN
Jelenlet j
ON A.Azon_sima = j.Kod AND
j.Datum LIKE '" + dtm_year_hkszpp_ym + "%'
GROUP BY a.Nev ;
使用此结构,您只需在 GROUP BY
之前添加 WHERE gender = <whatever>
。
您的代码有点暗示您正在使用 LIKE
作为日期。在任何数据库中都不推荐这样做。都有比LIKE
.