SQLite2+PHPで色々勉強してますが、わからないことがあります。


以下のようなテーブルがあった場合で、
戻り値を"鈴木" "佐藤" "山田"と順番に取得する場合、
どのようにPHPでSQL文を書けばいいでしょうか?
ご存知の方が居ましたら、教えていただけますか?

"名前" "都道府県" "担当エリア"
"鈴木" "北海道" "札幌"
"鈴木" "北海道" "旭川"
"佐藤" "北海道" "十勝"
"佐藤" "北海道" "夕張"
"山田" "北海道" "函館"
"山田" "北海道" "根室"

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2010/04/13 08:11:20
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:GreenStar No.1

回答回数192ベストアンサー獲得回数46

ポイント200pt

3名の順番を決める要素が必要です。例えば下記のようなものです。

担当者コード 名前 都道府県 担当エリア
1 鈴木 北海道 札幌
1 鈴木 北海道 旭川
2 佐藤 北海道 十勝
2 佐藤 北海道 夕張
3 山田 北海道 函館
3 山田 北海道 根室

担当者コード順で出力する例(説明用にカラム名は日本語で記述しています)

<?php
$dbhandle = sqlite_open('データベースファイル');
$sql = 'SELECT 担当者コード,名前 FROM テーブル GROUP BY 担当者コード,名前 ORDER BY 担当者コード';
$result = sqlite_array_query($dbhandle, $sql, SQLITE_ASSOC);
foreach ($result as $entry) {
    echo $entry['名前'];
}
?>

http://jp2.php.net/manual/ja/function.sqlite-array-query.php

その他の回答2件)

id:GreenStar No.1

回答回数192ベストアンサー獲得回数46ここでベストアンサー

ポイント200pt

3名の順番を決める要素が必要です。例えば下記のようなものです。

担当者コード 名前 都道府県 担当エリア
1 鈴木 北海道 札幌
1 鈴木 北海道 旭川
2 佐藤 北海道 十勝
2 佐藤 北海道 夕張
3 山田 北海道 函館
3 山田 北海道 根室

担当者コード順で出力する例(説明用にカラム名は日本語で記述しています)

<?php
$dbhandle = sqlite_open('データベースファイル');
$sql = 'SELECT 担当者コード,名前 FROM テーブル GROUP BY 担当者コード,名前 ORDER BY 担当者コード';
$result = sqlite_array_query($dbhandle, $sql, SQLITE_ASSOC);
foreach ($result as $entry) {
    echo $entry['名前'];
}
?>

http://jp2.php.net/manual/ja/function.sqlite-array-query.php

id:ko8820 No.2

回答回数1221ベストアンサー獲得回数69

ポイント20pt

SQLでORDER BYを使います。

名前で並び変えても可能ですが、この場合、文字コードで並べら得られます。

郵便番号その他、並び替えたいものをでーたに埋め込むのが良いでしょう。

ORDER BYは複数指定できます。

ORDER BY 項目1、項目2 です。

http://sql.1keydata.com/jp/sql-order-by.php

id:Bombastus No.3

回答回数409ベストアンサー獲得回数52

ポイント20pt

SQL文を以下のようにすればよいのです。

SELECT DISTINCT 名前 WHERE 1 FROM テーブル名;
  • id:kei_kikurin
    みなさま、解答ありがとうございました。
    個別に返信できなくて申し訳ありません。
    (締め切っちゃったので。汗)

    また機会がありましたらよろしくおねがします。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません