我有这个数据库,其中有名为Mall(其包含Mall的不同名称),NameOfStore(其包含商店的名称)和AMEX(其包含YES或NO,取决于商店是否接受美国运通)的列。

我要做的是计算每个购物中心接受AMEX的商店数量,然后根据购物中心接受AMEX的商店数量以降序对它们进行排序。我想在下拉列表中加入“排序”功能,程序的用户可以选择是否要对拥有最高AMEX的购物中心进行排序,等等。我能够根据一些条件为“过滤器”创建一个下拉列表条件”功能,但此排序功能有很大不同。

我不确定如何合并这些查询的逻辑并正确排序。

 function sortStore($conn, $sort)
    {
    $table = "table1";
    $column1 = "Mall";
    $column2 = "NameOfStore";
    $condition = "AMEX = 'YES'"

    $query = Select Count($column2) from $table where $condition AND $sort";
    ..other codes..
    //$sort would contain cases (one case for each mall)
    //Example: case "Mall1": $sort = "Mall = 'Mall1'; break;
    //I'm actually not sure if the logic on my query is correct based on what I want to happen
    }


然后,我想按接受降价顺序接受AMEX的商店数量对购物中心进行排序。我需要使用ORDER BY函数,但不确定在此特定上下文中将其放置在何处。

摘要:

下拉列表

用户选择他要对购物中心进行分类的类别(例如:带有AMEX的商店数量,餐厅数量等)

程序显示所选类别的购物中心的有序列表

最佳答案

该查询应该给您期望的结果。

select mall, count(AMEX) AS AMXCNT
from table1
WHERE AMEX='yes'
GROUP BY MALL ORDER BY AMXCNT

09-20 12:40