テーブルには、「server」、「directory」、「usage」、「datetime」の4つの列が含まれています。すべてのサーバーに共通の10個のdirがあります。サーバーのデータを取得する必要があります。これは、1日の最新の日時の使用状況です。たとえば、ディレクトリBを持つサーバーAがある場合、数日間、複数回の使用があります。すべてのサーバーのクエリによってレポートされるデータが必要です。これは、毎日の最新のエントリに対するすべての対応するディレクトリの使用量です。
質問する
258 次
2 に答える
1
私があなたの質問を正しく理解していれば、すべてのサーバーとディレクトリの最後の使用状況を確認したいでしょう。次のような特定の列を持つ「usagestats」という名前のテーブルがあるとします。
SELECT a.server, a.directory, a.`usage`, a.datetime
FROM usagestats as a INNER JOIN (
SELECT server, directory, max(datetime) datetime
FROM usagestats
GROUP BY server, directory
) AS b ON (
a.server = b.server
and a.directory = b.directory
and a.datetime = b.datetime
)
ORDER BY a.server, a.directory, a.datetime
于 2012-10-07T10:13:12.850 に答える
0
あなたの質問を正しく理解しているかどうかわかりません。
MySQL には IF() 関数があり、最初のパラメーターの条件に従ってステートメントの 1 つを返します。
数値が大きく、列が 2 つしかない列からデータを選択する場合は、次のように IF ステートメントを使用します。
SELECT
if(columnA > columnB, columnA , columnB) as grtColumn,
if(columnA > columnB,'columnA is bigger', 'columnB is bigger') as whichColumnWasGrt
from yourtable;
ヘルプ: mysql リファレンス - if() 関数(IF ステートメントと IF() 関数があります - 異なるものです!
于 2012-10-07T10:57:53.713 に答える