SQLでデータの不一致を探す
次のようなテーブル「height」があったとします。名前と身長のデータです。
Suzukiが二つ入力されています。データが同じならば問題はないかもしれませんが、身長が異なります。
SQLを使って、このようなデータの不一致を探す方法を紹介します。Access2007で確認しました。 (さらに…)
ゆるくつくる stabuckyのブログ
次のようなテーブル「height」があったとします。名前と身長のデータです。
Suzukiが二つ入力されています。データが同じならば問題はないかもしれませんが、身長が異なります。
SQLを使って、このようなデータの不一致を探す方法を紹介します。Access2007で確認しました。 (さらに…)
Accessで次のようなテーブル「member」があったとします。
id | name | roomid | weight | date |
---|---|---|---|---|
1 | Ito | 1 | 60 | 2013/1/1 |
2 | Abe | 1 | 62 | 2013/1/1 |
3 | Sato | 2 | 61 | 2013/1/1 |
4 | Eda | 2 | 68 | 2013/1/1 |
5 | Ito | 1 | 65 | 2013/7/1 |
ある学校の体重の管理簿だと考えてください。
roomidが教室番号です。weightが体重で、dateがそれを量った日です。
このテーブルを使って教室毎の人数を数えてください。
単純に数えるには次のようになります。 (さらに…)
次のようなテーブル「member」があったとします。
id | name | height |
---|---|---|
1 | Ochiai | 179 |
2 | Tanaka | 172 |
3 | Sato | 177 |
4 | Suzuki | 176 |
5 | Inoue | 175 |
6 | Ueno | 179 |
7 | Endo | 178 |
8 | Ito | 180 |
9 | Yamamoto | 175 |
10 | Aoki | 170 |
これに身長(height)の高い順に順位を付けます。Access2007で確認しました。
SQLは次の通りです。
「member AS member1」として同じテーブル「member1」を作ります。
「SELECT Count(member.id) FROM member WHERE member.height > member1.height」として、自分より身長の高い者の数を数えています。これに1を加えることで順位になります。自分より身長の高い者がいない場合は0で、これに1を加えて「1」、一人いる場合は1で、これに1を加えて「2」となります。
結果は次の通りです。
rank | name | height |
---|---|---|
1 | Ito | 180 |
2 | Ueno | 179 |
2 | Ochiai | 179 |
4 | Endo | 178 |
5 | Sato | 177 |
6 | Suzuki | 176 |
7 | Yamamoto | 175 |
7 | Inoue | 175 |
9 | Tanaka | 172 |
10 | Aoki | 170 |
同じ身長の場合、同じ順位になっています。
WordPressにはWassUpという、アクセス状況を調べることのできるプラグインがあります。
WassUpはアクセスのログをMySQLのテーブルに保存しているのでSQLを使えば簡単にアクセス状況を集計をすることができます。 (さらに…)
WordPressはMySQLで投稿データを管理しています。
そのためSQLを使って直に必要なデータを取り出すことができます。
投稿データのIDとタイトルを取り出す場合のSQLは次の通り。
WordPressは実際にブログ上に表示されるデータだけでなく下書きも保存されるので、ステータスが「publish」となっているものだけを抽出します。
IDを指定して投稿データを取り出す場合のSQLは次の通り。