草庐IT

mysql - Woocommerce mySQL 查询 - 列出所有订单、用户和购买的商品

我有一个完全可用的mySQL查询,它提取所有订单、用户、地址和从Woocommerce购买的商品,但它只单独列出产品,我想为显示的每个产品添加数量。当前显示“已订购商品”跑鞋步行鞋它应该在哪里显示“已订购的商品”3x跑鞋4x步行鞋SELECTp.IDAS'OrderID',p.post_dateAS'PurchaseDate',MAX(CASEWHENpm.meta_key='_billing_email'ANDp.ID=pm.post_idTHENpm.meta_valueEND)AS'EmailAddress',MAX(CASEWHENpm.meta_key='_billing_f

mysql - SQL-选择最相似的产品

好的,我有一个存储两个键的关系,一个产品ID和一个属性ID。我想找出哪个产品与给定产品最相似。(属性实际上是数字,但这会使示例更加困惑,因此已将其更改为字母以简化视觉表示。)产品属性Product|Attributes1|A1|B1|C2|A2|B2|D3|A3|E4|A最初这看起来相当简单,只需选择产品具有的属性,然后计算每个产品共享的属性数。然后将结果与产品具有的属性数量进行比较,我可以看出两种产品的相似程度。这适用于相对于其比较产品具有大量属性的产品,但当产品的属性很少时就会出现问题。例如,产品3将与几乎所有其他产品并列(因为A很常见)。SELECTProduct,count(A

php - 如何使用 LOAD DATA LOCAL INFILE REPLACE

我有一个脚本,用于将数据从一个数据库迁移到另一个数据库。我已经使用常规的mysql插入和更新脚本完成了此操作。只是花的时间太长了。无论如何,我已经将新数据库中要更新的所有数据转储到csv中,我只是担心如果我运行此脚本,我会得到重复的条目。我没有匹配的“id”,所以我无法对下面列出的REPLACE脚本进行比较。我想知道是否有人可以提醒我这个脚本看起来是否正确。目前我在新数据库中有几行数据,如果它们匹配,我只想用csv中的新数据覆盖新数据库中的任何字段。“archived_id_number”字段是我唯一可以匹配的字段,但它不是主键。谁能拍下我:如果csv上的archived_id_num

类别选择中的mysql产品

我有一个名为product_cats的表,相关的列是product_id,cat_id假设我们有类别1、2、3、4和5。我需要cat_id1和2以及(3或4或5)中的所有product_id。此时我有一些工作方法,但它们都非常慢。谁能给我一些mysql魔法?编辑:因此产品需要同时属于类别1和2,以及类别3、4或5。这是我尝试让这个想法变得更好的尝试之一SELECTp1.product_idFROMproduct_catsp1JOINproduct_catsp2ON(p2.product_id=p1.product_id)JOINproduct_catsp3ON(p3.product_i

php - 如何在MySQL中查询产品和过滤器之间的多对多关系?

我有三个表,即。tb_filters、tb_products和tb_products_to_filters。这些表的结构以及一些虚拟数据由下式给出:tb_filters:CREATETABLEIFNOTEXISTS`tb_filters`(`filter_id`INT(11)AUTO_INCREMENTPRIMARYKEY,`filter_name`VARCHAR(255));INSERTINTO`tb_filters`(`filter_name`)VALUES('USB'),('HighSpeed'),('Wireless'),('Ethernet');tb_products:CRE

php - 如果id在序列中,MySql获取行

如果product_id在序列中,我们需要获取行。表格(产品)product_idname1Parle2Coconut3Pizza4Colgate5IceCream6Nuts8Britania9Pepsi需要输出product_idname1Parle2Coconut3Pizza4Colgate5IceCream6Nutsproduct_id-8and9notgettingbecauseitisnotinsequence.我的尝试selectdistinctt1.*,t1.product_id,(selectGROUP_CONCAT(t2.product_id)fromproducta

sql - 从子类 : How many queries do I need? 中选择产品

我正在构建一个类似于描述的数据库here我有不同类型的产品,每种类型都有自己的属性。为了方便,我报告了一个简短的版本product_type============product_type_idINTproduct_type_nameVARCHARproduct=======product_idINTproduct_nameVARCHARproduct_type_idINT->Foreignkeytoproduct_type.product_type_id...(commonattributestoallproduct)magazine========magazine_idINTtit

MySQl GROUP BY 和 ORDER BY 没有做我想做的事

我想在对结果进行分组之前对其进行排序,但我似乎无法完成。我有这个问题:SELECTDISTINCTproduct.id,product_number_value.att_valueASproduct_number,color_number_value.option_codeAScolor_number,size_value.option_codeASsize_code,size_value.option_positionASsize_positionFROMproductINNERJOINproduct_attribute_relationalASproduct_number_rela

php - 人气,如何让新点击率高于旧点击率?

每个产品都有一个product_date_added,它是一个包含添加日期的Date字段。他们还有一个product_views,这是一个int字段,其中包含查看产品的次数。为了按受欢迎程度显示产品,我使用了一种算法来计算产品每天有多少次点击。SELECTAVG(product_views/DATEDIFF(NOW(),product_date_added))asavg_hits,product_table.*FROMproduct_tableWHEREproduct_available="yes"GROUPBYproduct_idORDERBYavg_hitsDESC这行得通,但老板

mysql - ORDER BY WHERE IN(子查询)

我有这样的查询:SELECTproducts.*FROMproductsWHEREproducts.code='searchword'ORproducts.idIN(SELECTproduct_names.product_idFROMproduct_namesWHEREMATCH(product_names.name)AGAINST('+search*+word*'INBOOLEANMODE)ORDERBYproduct_names.sorting_field)ORDERBY???我希望主查询的顺序与WHEREIN()的顺序相同。我似乎无法使用FIELD或FIND_IN_SET,因为我