2017-02-14 7 views
0

企業は、1999年の採用以来何が起こったのかを知りたいと考えています。人事マネージャーは、 に従業員の数を、年齢と性別の両方で同時に(つまり、男性17人、女性25人など)計数するよう依頼しました。それを行うクエリを作成します。SQL:2つの列をマージ/ジョインするCount

これはこれまで私が行ってきたことです。私は2つの列を同時にマージする方法を理解できませんでした。何かご意見は?

SELECT EmployeeID, COUNT(*) AS "Number of employees" 
FROM Employee 
WHERE Age and Gender 
GROUP BY EmployeeID 
HAVING COUNT(*) BEGIN = 1999 
+0

テーブルの列と質問のサンプルデータを入力してください。そして、私があなたの質問を正しく理解していれば、[このリンク(http://www.w3schools.com/sql/sql_and_or.asp)はあなたが始めるのにうってつけです! –

+0

ここにいくつかの考えがあります。性別だけで結果が「分解」されるクエリがありますか? 'GROUP BY EmployeeId'は、従業員のIDによってカウントダウンされます。 'EmployeeId'への参照を性別のような別の表現に置き換えることを考えてみましょう。 「年齢」で割る限り、従業員の現在の年齢、または彼らの年齢は雇用されていますか?それを得るには、「雇用日」と従業員「生年月日」の差異(通年)を知る必要があるようです。 – spencer7593

答えて

0

私はかなり確かあなたの条件についてはないですが、以下の、これはわずかな変更で、あなたの要件を満たすことができるようクエリを記述するための正しい方法はある...テーブル構造を提供

SELECT Gender, COUNT(*) AS "Number of employees", Age 
FROM Employee 
WHERE year(column_name) >= 1999 --Give a real date column here 
GROUP BY Age, Gender 

してください正確な解答のために望ましい出力を完成させる。

関連する問題