0

mySQL にテーブルがあり、その構造は次のとおりで、単一行のデータがあります

info     R1    R2    R3      R4      R5         ( Columns)
------------------------------------------   
Percent  80    90    70      85      69         (Data)

私のアプリは、出席データと全体の割合を上記の形式で保存する講義に出席することです。

パーセントが 75% 未満の場合、列名を取得する必要がありますか? PHPスクリプトを使用してこれを行うにはどうすればよいですか? どの mySQL クエリを使用すればよいですか?

4

4 に答える 4

3

簡単な PHP スクリプトを使用する場合は、このSQL FIDDLEを確認できます。

クエリは次のようになります。

SELECT r1,'R1' FROM info WHERE R1<75
UNION ALL 
SELECT r2,'R2' FROM info WHERE R2<75
UNION ALL 
SELECT r3,'R3' FROM info WHERE R3<75
UNION ALL 
SELECT r4,'R4' FROM info WHERE R4<75
UNION ALL 
SELECT r5,'R5' FROM info WHERE R5<75
于 2013-04-10T10:22:30.420 に答える
0

最初にすべてのフィールドを選択してから、値が 75 未満のデータのみを表示できます。これを行う 1 つの方法は次のとおりです。

$sql = "SELECT * FROM table_name";
$result = mysql_query($sql);
$row = mysql_fetch_array($result);
if($row[R1]<75) 
    echo "R1: " . $row[R1] . "<br />";
if($row[R2]<75) 
    echo "R2: " . $row[R2] . "<br />";
if($row[R3]<75) 
    echo "R3: " . $row[R3] . "<br />";
if($row[R4]<75) 
    echo "R4: " . $row[R4] . "<br />";
if($row[R5]<75) 
    echo "R5: " . $row[R5] . "<br />";
于 2013-04-10T10:44:48.707 に答える
-1

クエリを渡して、パーセントが 75% 未満のデータをデータベースから取得します。したがって、値が 75 未満の列のみが取得されます。

アップデート

select
  case
     when R1<75 then R1
     end
     as 'R1',
  case
     when R2<75 then R2
     end
     as 'R2',
  case
     when R3<75 then R3
     end
     as 'R3',
  case
     when R4<75 then R4
     end
     as 'R4',
  case
     when R5<75 then R5
     end
     as 'R5'
from Table;

列名を持つすべての列 (情報を除く) を取得しますがnull、パーセントが 75 以上の場合は列の値になります。結果から、条件に基づいて列名を取得ResultSetMetaDataできます。次に、使用して列を取得できます。名前。

于 2013-04-10T10:18:58.213 に答える