私はエントリごとに3つのフィールドを持つMySQLテーブルを持っています。 xとyは主キーと1つの値です。私は与えられた領域で最高の行を選択したいと思います。例としてMySQLとaspは、領域内で最も高い行を選択します。
私は、x> = 2及びX < 4及びy> = 1と最も高いエントリを持つ行を取得するための要求をしたいですこの例では、x = 2、y = 3、value = 0,6の行になります。
は現在、私の.aspファイル内のコードは次のようになります。
if reqType="getDBMaxValue" then
resp="[ "
delim=""
'sSQL="SELECT MAX(value) AS value FROM "&tableName&" WHERE x >= "&xStart&" AND x <= "&xEnd&" AND y >= "&yStart&" AND y <= "&yEnd
sSQL="SELECT MAX(value) AS value FROM "&tableName&" WHERE x >= "&xStart&" AND x <= "&xEnd&" AND y >= "&yStart&" AND y <= "&yEnd
set rs=Conn.Execute(sSQL)
do until rs.EOF
obj="{ " & chr(34) & "value" & chr(34) & ": " & chr(34) & rs.Fields("value") & chr(34)
obj=obj & "} "
resp=resp & delim & obj
delim=" , "
rs.MoveNext
loop
resp=resp & " ]"
rs.Close
response.ContentType="application/json"
Response.Write(resp)
end if
これは正しい値を返しますが、私は、xとyを得ることはありません。このコードで
:
if reqType="getDBvalues" then
resp="[ "
delim=""
sSQL="SELECT * FROM "&tableName&" WHERE x >= "&xStart&" AND x <= "&xEnd&" AND y >= "&yStart&" AND y <= "&yEnd
set rs=Conn.Execute(sSQL)
do until rs.EOF
obj="{ " & chr(34) & "x" & chr(34) & ": " & chr(34) & rs.Fields("x") & chr(34)
obj=obj & ", " & chr(34) & "y" & chr(34) & ": " & chr(34) & rs.Fields("y") & chr(34)
obj=obj & ", " & chr(34) & "value" & chr(34) & ": " & chr(34) & rs.Fields("value") & chr(34)
obj=obj & "} "
resp=resp & delim & obj
delim=" , "
rs.MoveNext
loop
resp=resp & " ]"
rs.Close
response.ContentType="application/json"
Response.Write(resp)
end if
私は全部の行(または列)を受け取ります。
誰かが最大値の行を取得するためにMySQL文を書き留める方法を知っていますか?あなたのサンプル情報に基づいて
、X = Y 2、= 3、値= 0.6の一致があるように見えませんか? x/y値の値は0,7です。私は何かを逃しているのでしょうか?あるいは、タイプミスがありますか? –
はい、そのタイプミス – blisslfutz