草庐IT

INSERT-SELECT

全部标签

python - SQLAlchemy select_from 单个表

在尝试在SQLAlchemy中复制MySQL查询时,我在指定要从中选择的表时遇到了障碍。有效的查询是SELECTc.*FROMattacksASaINNERJOINhostshONa.host_id=h.idINNERJOINcitiescONh.city_id=c.idGROUPBYc.id;我尝试使用以下函数在SQLAlchemy中完成此操作defall_cities():session=connection.globe.get_session()destination_city=aliased(City,name='destination_city')query=session.

mysql - 如何在 MySQL 的 INSERT 语句中使用 SELECT MAX?

简短版本:如何获取列的最大值并在使用INSERTINTO语句添加行时使用结果?长版:我已阅读问题:Howtouse'select'inMySQL'insert'statement并尝试按照说明获取答案。这是我的查询:INSERTINTOemployee(id,name,state,supervisorId)SELECTMAX(id)+1,'Dan',state,supervisorIdFROMemployeeWHEREname='Chris';但是我得到这个错误:ERROR:1062:Duplicateentry'7'forkey'PRIMARY'原因是我有另一行id是7。因此,MAX

mysql - FlywaySqlException : Unable to insert row for version `11` in Schema History table `schema_version` : Field `version_rank` doesn't have a default value 错误

我在使用新迁移运行我的SpringBoot应用程序时遇到此错误。到目前为止,它已经完成了10次迁移。该字段确实没有默认值。不需要默认值,因为Flyway应该在该字段中插入值11。Causedby:org.flywaydb.core.internal.exception.FlywaySqlException:Unabletoinsertrowforversion'11'inSchemaHistorytable`app`.`schema_version`---------------------------------------------------------------------

Mysql select row of max id 返回错误数据

我有一个表格如下:tabl1:idnamecreated_on--------------------1red20162green20173blue2018然后查询如下selectmax(id),name,created_onfromtabl1结果:idnamecreated_on-----------------3red2016在这里,我正确获取了最大ID,但名称和created_on值不在同一行。我怎样才能返回这样的结果:idnamecreated_on-----------------3blue2018 最佳答案 您应该使用最

mysql - 如何在 select 语句中创建表达式而不将其作为列返回?

我有一些来自数据库的行,我想将它们插入到另一个数据库中。因为有很多行我想在mysql中使用INSERT..SELECT...构造。我尝试运行的语句如下:set@rank:=1;set@currpoints:=0;set@currgroupcount:=0;SELECTid,@rank:=if(@currpoints=points,@rank,@rank+@currgroupcount)ASrank,@currgroupcount:=if(@currpoints=points,@currgroupcount+1,1),@currpoints:=pointsFROMcharactersOR

SQL 帮助 : select the last 3 comments for EACH student?

我有两个表来存储小学教室的学生数据:Behavior_Log包含student_id、comments、date列Student_Roster有student_id、firstname、lastname列数据库用于存储对学生行为的每日评论,有时老师会在给定的一天对一个学生发表多条评论。现在假设老师希望能够为每个学生提取最后3条评论的列表,如下所示:Jessica7/1/09talkingJessica7/1/09passingnotesJessica5/3/09absentCiboney7/2/09greatparticipationCiboney4/30/09absentCibone

php - 可能从日期字符串 Select 查询注入(inject)

我有一个有点奇怪的问题。我的页面包含一个刷新页面并调用PHP变量的html链接。此变量将日期字符串附加到url字符串,该字符串被馈送到MySQL查询中,该查询获取与该日期匹配的记录。我认为这会导致注入(inject),因为它有时会从数据库中删除用户!我知道在超链接中使用“#”可能存在安全问题,但我想知道发生了什么。这也会对不同的浏览器产生不同的影响,因为它是如何使用javascript的。被删除的用户似乎只发生在某些人的计算机上。PHP代码计算从现在起三天后的时间戳,然后将其转换为SQL格式:$ts_threeDays=mktime(1,0,0,date('m'),date('d')+

sql - MySQL - 如何运行按分数排序结果的 SELECT 查询 - 例如 upvotes - downvotes

我有两个表——文章表和投票表。用户可以投票赞成或反对他们选择的文章(类似于Reddit)。我在投票表中的字段是:文章编号用户编号投票vote字段的值可以是0或1...(如果他们投票反对该文章则为0,如果他们投票赞成则为1)。我想做的是运行一个SELECT查询,返回所有得分最高的文章。也就是说,赞成票减去反对票。但是,我完全不知道如何做到这一点。我能够返回所有获得最多赞成票的文章,例如:--articletableiscalled"article"--votetableiscalled"user_article_vote"SELECTarticle.title,article.summa

mysql - 在 MySQL SELECT 查询中生成重复响应

我正在使用应用程序中的报告编写功能来生成条形码产品标签。报告编写系统允许我使用MySQLSELECT语句从我们的数据库中获取我需要的信息,并将其呈现给格式化报告的JasperReportsJRXML文件。如果我想为通过我的SELECT语句从数据库返回的每个产品生成一个条形码标签,这很好用。但是我想为每个产品标签制作五十份。如果我可以访问代码就足够简单了,但我只能更改SQL语句。任何人都可以建议一种方法,让我可以让MySQLSELECT语句为它在产品表中找到的每条记录返回50个相同的结果吗?感谢您的帮助。 最佳答案 我只有一个丑陋的解

MySQL 性能 : nested insert/duplicate key vs multiple updates

有谁知道什么会更有效并使用更少的资源:方法1--使用单个SELECT语句从一个表中获取数据,然后遍历它以对另一个表执行多个UPDATE。例如。(伪代码,execute()运行查询):Query1_resultset=execute("SELECTitem_id,sum(views)asview_countFROMtableAWHEREcondition=1");while(Query1_resultsetasrow){execute("UPDATEtableBSETview_count=row.view_countWHEREid=row.item_id");}方法2--使用单个INSE