使用PHP。 然后在mysql hava这个表中
Id where name sex
1 CN X.ming boy
2 US Tom boy
3 US jom boy
4 US Kim girl
=====================
首先我需要到达select * from table where=US
然后需要得到男孩select * from (last select) where sex=boy
我发现获取代码是
SELECT * FROM (SELECT * FROM table WHERE where=US) AS a WHERE sex=boy;
但这不好也不快。
情况下: // 我的英语不好,所以我的回复很慢......抱歉!!
答案 0 :(得分:2)
首先,您不能在表格列名中使用保留字(推荐)。 where
是一个保留字,因此请将其更改为位置或其他内容。查询如下:
SELECT * FROM TABLENAME WHERE location = 'US' AND sex = 'boy';
答案 1 :(得分:2)
你过度复杂化了,你可以在where子句中有多个东西
SELECT * FROM table WHERE `where`='US' AND sex='boy';
请注意,您还需要围绕文本值的引号,以及保留字周围的反引号,where
显然是一个保留字。考虑该列的另一个列名称会更好。
同样sex
通常记录为male
或female
或甚至M
或F
而不是男孩和女孩。
答案 2 :(得分:2)
为什么不链接这些条件?
SELECT * FROM table WHERE `where` = 'US' and `sex` = 'boy';
此外,将reserved keywords用于列名称也是一个坏主意(此处:"其中")。
答案 3 :(得分:2)
巧妙地思考,您可以在where子句中放置尽可能多的列。 通过使用' AND' 等运算符来检查其他条件是否为真,' OR' 如果任何已定义的条件为真。
目前的情况就是使用。
select * from (SELECT TOP 1 * FROM Table ORDER BY ID DESC) where sex = 'male'
答案 4 :(得分:0)
更改从表到位置的位置
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "yourDB";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$result = $conn->query('SELECT * FROM table WHERE `location` = "US"');
while($row = $result->fetch_assoc()) {
if($row['sex']==boy) $data2[] = $row;
$data1 = $row;
}
$ data1包含US和$ data2的列表,其中包含美国男孩的列表