プロが教えるわが家の防犯対策術!

DISTINCTROWについてです。
DISTINCTROWが有効になるのは、FROM句に記述したテーブルが複数の場合と理解していました。しかし、次のような例をあるサイトで目にし、DISTINCTROWの有無でテストしてみて結果は同じでした([日付]、[使用量]フィールドのデータが同じレコードを2件入れて行いました)。
[電気管理]テーブルのフィールドは[日付]と[使用量]のみです。この例では、DISTINCTROWは有効なのでしょうか?

strName = "月別電気使用量"
mySQL = "SELECT DISTINCTROW Format([日付],'yyyy/mm') AS 月別, "
mySQL = mySQL & "Sum(Format([使用量],'0.0')) AS 合計 INTO [" & strName & "] "
mySQL = mySQL & "FROM 電気管理 "
mySQL = mySQL & "GROUP BY Format(電気管理.日付,'yyyy/mm');"

A 回答 (1件)

これってほんとにMySQLに対する質問でしょうか?


MySQLではDISTINCTROWは単にDISTINCTのシノニムのようですね。

みるかぎりGroup byしているキーでセレクト表示しているので
行のユニークは保たれているのではないでしょうか?
なのでDISTINCTする必要は感じられません。

蛇足ながらソース的にはFormatしたデータでGroup byすると、
パフォーマンスがでないように見受けられますが、テーブル
構造上の問題なのでチューニングが必要になったら調整を
はかったほうがよいと思います。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す