当前位置: 首页 > 知识库问答 >
问题:

对于包含类别名称的每个类别行,仅从产品表中获取一行

应安国
2023-03-14

我有两个表产品和类别。1个类别有许多产品。在索引页面上,我只想显示一个属于每个类别的最新产品。换句话说,一个产品一个类别。

这是我的表结构 类别表

我尝试了很多答案,但无法理解他们回答的问题。所以请推荐我查询,并尽可能详细说明。

共有3个答案

周良弼
2023-03-14

啊啊啊啊,辛苦了一整天,我自己弄到了:)

SELECT category_id, product_name
FROM products
GROUP BY category_id

它产生了我想要的,如下

吕德业
2023-03-14

由于mysql不支持窗口功能,我只能建议这样做,希望product_table中没有两个日期相同的产品。由于我没有可用的运行mysql,我不确定这是否有效。

select c.category_name
     , p.product_name
     , p.color
     , p.category_id
     , p.sub_categories
     , p.detail
     , p.[date]
     , p.[id]
     , p.bst_seller
     , p.size
  from products p
  join ( select category_id
              , max([date])
           from product_table
       ) d
    on p.[date] = d.[date]
  join category_table
    on p.category_id = c.[id]

尝试使用row_number窗口功能选择每个类别的最新产品,然后加入:

with products as (
    select product_name
         , color
         , category_id
         , sub_categories
         , detail
         , [date]
         , [id]
         , bst_seller
         , size
         , ROW_NUMBER() over (partition by category_id order by date desc) as cand
      from product_table
)
select c.category_name
     , p.product_name
     , p.color
     , p.category_id
     , p.sub_categories
     , p.detail
     , p.[date]
     , p.[id]
     , p.bst_seller
     , p.size
  from products p
  join category_table c
    on p.category_id = c.id
 where p.cand = 1
支彭亮
2023-03-14

尝试SQL连接。类似这样的-

选择cat.category_name,专业版。Category中的sub_ categories作为cat内部连接产品作为cat.Id=pro上的pro。其中cat.Id=1

此外,在执行此操作之前,请确保您的产品表中提到了类别id,否则加入条件将不起作用。

 类似资料:
  • 我试图在WooCommerce的子类别页面中查找父类别名称,即我有4个主要类别。 父母1 子1 子2 子3等 父母2 子1 子2 子3等 等等。 如果我在Sub2的列表页上,Sub2是Parent1的子级,我想知道Parent1类别的名称。

  • 我试图通过WoodPress主题中的一个函数从WooCommerce获取产品类别 上面的代码返回一些产品,但是产品类别。 当我包括

  • 问题内容: 我有这样的查询 现在,在我的查询中,我想获得每个类别的前10个产品(按销售量排名最高),并且每个类别我需要前5个子类别(按销售量排名前列) 您可以假设问题陈述是这样的: 按销售获得每个类别的前10个产品,按销售获得每个5个子产品。 这里的类别可以是书籍 产品可以是Harry Porter的书 子产品可以是HarryPorter系列5 样本输入数据格式 输出将是“ 我的查询失败,因为结果

  • 我有一张桌子在下面。我想获取父级所在的所有类别。 当我通过id=4时,它应该给出以下结果 但它给出了总体表的一般结果。我只需要那些id=4的记录。查询只给出2条记录测试4

  • 这是一个产品的表格结构 这是类别的表结构 我在为包括嵌套类别在内的每个类别选择产品计数时遇到困难。例如,类别有1个产品,类别有1个产品,类别有1个产品,并且由于类别和是类别的各自直接/间接祖先,类别有3个产品。所以我需要一个查询或只是一种方法来获得这样的东西: 是否可以只使用SQL,或者我需要添加一些PHP?

  • 我正在开发一个电子商务网站,我使用三个表来管理产品和类别。 我需要一个或多个带有实体框架的linq查询来获得母类别列表、子类别列表和相关产品列表。 有一个类别表,如: Id NameCat ParentId 有一个products表,如: Id名称实时信息等。 有一个product-category表,如: Id categoryId productId sortOrder 这是我的viewmod