반응형
MySQL/MariaDB는 COUNT(*)를 방정식에 포함시킵니다.
테이블이나 열의 행 수를 구하여 방정식 안에 값을 배치하려고 합니다.
UPDATE myTable
SET myCalculatedColumn = COUNT(*) / (@rownum:= 1 + @rownum)
WHERE 0 = (@rownum:=0)
안타깝게도 오류 1111 "Invalid use of group function" 이 표시됩니다.또, 다음과 같이 했습니다.
SET @c = COUNT(*);
UPDATE myTable
SET myCalculatedColumn = @c / (@rownum:= 1 + @rownum)
WHERE 0 = (@rownum:=0)
그러나 이로 인해 동일한 오류가 발생합니다.
어떻게 하면COUNT(*)
(또는 프로그램적으로 동등한 연산)을 방정식으로 만들까요?
카운트를 얻을 수 있는 서브쿼리와 결합합니다.또, 의 초기화를 실시할 수도 있습니다.@rownum
변수도 있습니다.
UPDATE myTable AS t
CROSS JOIN (SELECT COUNT(*) AS count, @rownum := 0 FROM myTable) AS c
SET myCalculatedColumn = count / (@rownum := 1 + @rownum)
교차 조인을 수행하지 않으려면 다음 항목을 설정할 때 하위 쿼리를 사용할 수 있습니다.@c
그냥 말해주면 돼COUNT(*)
어떤 테이블에서 셀지
SET @c = (SELECT COUNT(*) FROM myTable);
SET @rownum = 0;
UPDATE myTable
SET myCalculatedColumn = @c / (@rownum:= 1 + @rownum);
에 할당하는 순서는myCalculatedColumn
제멋대로이고 예측불허일 수 있습니다.ORDER BY
절을 클릭합니다.
언급URL : https://stackoverflow.com/questions/67715546/mysql-mariadb-place-count-in-equation
반응형
'programing' 카테고리의 다른 글
두 개 이상의 필드를 조합하여 검증하려면 어떻게 해야 합니까? (0) | 2022.10.01 |
---|---|
v-select 옵션의 특성을 설정하는 방법 (0) | 2022.10.01 |
로거가 프라이빗 스태틱이어야 하는지 여부 (0) | 2022.10.01 |
JavaScript에서 함수 호출에 명명된 파라미터를 제공하는 방법이 있습니까? (0) | 2022.10.01 |
moment.js가 포함된 최신 문자열 구문 분석 (0) | 2022.10.01 |