是否可以进行1次查询并仍然提取所需数据?
我有很多疑问,想要整合它们以加快页面加载速度。
干杯
$result = mysql_query("SELECT * FROM products where added = '$date'");
$new_items = mysql_num_rows($result);
$result = mysql_query("SELECT * FROM products where isasin = 1");
$isasin = mysql_num_rows($result);
$result = mysql_query("SELECT * FROM products where isasin = 0");
$notasin = mysql_num_rows($result);
$result = mysql_query("SELECT * FROM products where EAN = ''");
$blank_ean = mysql_num_rows($result);
$result = mysql_query("SELECT * FROM products where EAN = '-'");
$ean_line = mysql_num_rows($result);
$result = mysql_query("SELECT * FROM products where EAN = 'PRERELEASE'");
$ean_prerelease = mysql_num_rows($result);
$result = mysql_query("SELECT * FROM products where format = 'delete'");
$delete = mysql_num_rows($result);
$result = mysql_query("SELECT * FROM products where format = 'VIDEO GAMES'");
$vgames = mysql_num_rows($result);
$result = mysql_query("SELECT * FROM products where format = 'CONSOLE ACCESORIES'");
$conacc = mysql_num_rows($result);
$result = mysql_query("SELECT * FROM products where format = 'Games'");
$games = mysql_num_rows($result);
$result = mysql_query("SELECT * FROM products where format = 'Cool Stuff'");
$cool_stuff = mysql_num_rows($result);
$result = mysql_query("SELECT * FROM products where format = 'Unknown'");
$Unknown = mysql_num_rows($result);
$result = mysql_query("SELECT * FROM products where description = ''");
$no_desc = mysql_num_rows($result);
$result = mysql_query("SELECT * FROM products where product_name = ''");
$no_name = mysql_num_rows($result);
//game stats
$result = mysql_query("SELECT * FROM products where format = 'Xbox 360'");
$xbox360 = mysql_num_rows($result);
$result = mysql_query("SELECT * FROM products where format = 'Playstation 3'");
$ps3 = mysql_num_rows($result);
$result = mysql_query("SELECT * FROM products where format = 'Nintendo DS'");
$nds = mysql_num_rows($result);
$result = mysql_query("SELECT * FROM products where format = 'Nintendo Wii'");
$wii = mysql_num_rows($result);
$result = mysql_query("SELECT * FROM products where format = 'PC'");
$pc = mysql_num_rows($result);
$result = mysql_query("SELECT * FROM products");
$total_games = mysql_num_rows($result);
答案 0 :(得分:4)
你只需要通过外观计数。另外,从外观来看,它是MySQL。这是您的一个查询:
select
(SELECT count(*) FROM products where added = '$date') as Alias01,
(SELECT count(*) FROM products where isasin = 1) as Alias02,
(SELECT count(*) FROM products where isasin = 0) as Alias03,
(SELECT count(*) FROM products where EAN = '') as Alias04,
(SELECT count(*) FROM products where EAN = '-') as Alias05,
(SELECT count(*) FROM products where EAN = 'PRERELEASE') as Alias06,
(SELECT count(*) FROM products where format = 'delete') as Alias07,
(SELECT count(*) FROM products where format = 'VIDEO GAMES') as Alias08,
(SELECT count(*) FROM products where format = 'CONSOLE ACCESORIES') as Alias09,
(SELECT count(*) FROM products where format = 'Games') as Alias10,
(SELECT count(*) FROM products where format = 'Cool Stuff') as Alias11,
(SELECT count(*) FROM products where format = 'Unknown') as Alias12,
(SELECT count(*) FROM products where description = '') as Alias13,
(SELECT count(*) FROM products where product_name = '') as Alias14,
(SELECT count(*) FROM products where format = 'Xbox 360') as Alias15,
(SELECT count(*) FROM products where format = 'Playstation 3') as Alias16,
(SELECT count(*) FROM products where format = 'Nintendo DS') as Alias17,
(SELECT count(*) FROM products where format = 'Nintendo Wii') as Alias18,
(SELECT count(*) FROM products where format = 'PC') as Alias19,
(SELECT count(*) FROM products) as Alias20
每个计数都是一个列,您应该相应地对它们进行别名
答案 1 :(得分:1)
SELECT
( SELECT COUNT(*) FROM products where added = '$date'
) AS new_items
, ( SELECT COUNT(*) FROM products where isasin = 1
) AS isasin
, ...
...
, ( SELECT COUNT(*) FROM products
) AS all_products
答案 2 :(得分:0)
好的,最后一个查询选择所有记录,因此以前的查询是多余的。如果您想在不选择所有记录的情况下执行此操作,请使用以下内容:
Select * from products
where (format='Xbox 360' OR format='PC' OR format='Playstation 3') ...
您可以使用OR选择符合指定条件1或条件2的任何记录。 AND的使用方式不同,表示记录必须与要返回的criteria1 AND criteria2匹配。在w3schools上查找和/或获得可靠的例子。